package fr.afcepf.atod16.groupe1.projet2.dto;

/**
 * Le DTO ligne de commande (version interne)
 * @author cedric
 */
public class DtoLigneCommandeStock implements Dto {

    private Integer id;
    private Integer quantite;
    private DtoCommandeStock commande;
    private DtoProduitStock produit;

    public DtoLigneCommandeStock() {
    }

    public DtoLigneCommandeStock(Integer id, Integer quantite, DtoCommandeStock commande, DtoProduitStock produit) {
        this.id = id;
        this.quantite = quantite;
        this.commande = commande;
        this.produit = produit;
    }

    @Override
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getQuantite() {
        return quantite;
    }

    public void setQuantite(Integer quantite) {
        this.quantite = quantite;
    }

    public DtoCommandeStock getCommande() {
        return commande;
    }

    public void setCommande(DtoCommandeStock commande) {
        this.commande = commande;
    }

    public DtoProduitStock getProduit() {
        return produit;
    }

    public void setProduit(DtoProduitStock produit) {
        this.produit = produit;
    }

    @Override
    public String toString() {
        return "DtoLigneCommandeStock{" + "id=" + id + ", quantite=" + quantite + ", commande=" + commande + ", produit=" + produit + '}';
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 67 * hash + (this.id != null ? this.id.hashCode() : 0);
        hash = 67 * hash + (this.quantite != null ? this.quantite.hashCode() : 0);
        hash = 67 * hash + (this.commande != null ? this.commande.hashCode() : 0);
        hash = 67 * hash + (this.produit != null ? this.produit.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final DtoLigneCommandeStock other = (DtoLigneCommandeStock) obj;
        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
            return false;
        }
        if (this.quantite != other.quantite && (this.quantite == null || !this.quantite.equals(other.quantite))) {
            return false;
        }
        if (this.commande != other.commande && (this.commande == null || !this.commande.equals(other.commande))) {
            return false;
        }
        if (this.produit != other.produit && (this.produit == null || !this.produit.equals(other.produit))) {
            return false;
        }
        return true;
    }
}
